package com.leyou.controller;

import com.leyou.Service.GoodHtmlService;
import com.leyou.Service.Goodservice;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.Map;

@Controller
public class goodsController {

    // 这里就不写接口了，按照规范来说需要些接口在写service的
    @Autowired
    private Goodservice goodservice;

    @Autowired
    private GoodHtmlService goodHtmlService;

    /**
     * 商品详情页的controller，根据每个详情页的id.html来请求
     *
     * @param mode
     * @param id
     * @return
     */
    @GetMapping("item/{id}.html")
    public String toItemPage(Model mode, @PathVariable("id") Long id) {
        // 加载所需的数据
        Map<String, Object> modelMap = this.goodservice.LoadData(id);
        // 数据放到数据模型
        mode.addAllAttributes(modelMap);

        // 页面静态化（生成html 的代码不能对用户请求产生影响，所以这里我们使用额外的线程进行异步创建。）
        this.goodHtmlService.asyncExcute(id);

        return "item";
    }
}
